/* package swing;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import modele.Personne;
import dao.PersonneDAO;

public class PersonneFenetre {

	

private JTextField textId_personne;
private JTextField textNom;
private JTextField textPrenom;
private JTextField textDate_naissance;
private JTextField textTelephone;
private JTextField textAdresse;
private JTextField textCodePostal;
private JTextField textVille;
private JTextField textEmail;
private JTextField textPassword;
PersonneDAO base = new PersonneDAO();

public PersonneFenetre() {

	
	JFrame fenetrePersonne = new JFrame();
	fenetrePersonne.setTitle("PERSONNE");
	 
	GridLayout disposeurPersonne = new GridLayout(13, 2);
	// et affecte le disposeur (g) � la fen�tre (f)
	fenetrePersonne.setLayout(disposeurPersonne);

	// crée des widgets (JLabel - JTextfield) et les affecte à la fenêtre
	// (f)
	JLabel JLabelId = new JLabel("ID :");
	fenetrePersonne.add(JLabelId);
	textId_personne = new JTextField();
	fenetrePersonne.add(textId_personne);
	JLabel JLabelNom = new JLabel("NOM :");
	fenetrePersonne.add(JLabelNom);
	textNom = new JTextField();
	fenetrePersonne.add(textNom);
	JLabel JLabelPrenom = new JLabel("PRENOM :");
	fenetrePersonne.add(JLabelPrenom);
	textPrenom = new JTextField();
	fenetrePersonne.add(textPrenom);
	JLabel JLabelAge = new JLabel("DATE DE NAISSANCE :");
	fenetrePersonne.add(JLabelAge);
	textDate_naissance = new JTextField();
	fenetrePersonne.add(textDate_naissance);
	JLabel JLabelTelephone = new JLabel("TELEPHONE :");
	fenetrePersonne.add(JLabelTelephone);
	textTelephone = new JTextField();
	fenetrePersonne.add(textTelephone);
	JLabel JLabelAdresse = new JLabel("ADRESSE :");
	fenetrePersonne.add(JLabelAdresse);
	textAdresse = new JTextField();
	fenetrePersonne.add(textAdresse);
	JLabel JLabelCodePostal = new JLabel("CODE POSTAL :");
	fenetrePersonne.add(JLabelCodePostal);
	textCodePostal = new JTextField();
	fenetrePersonne.add(textCodePostal);
	JLabel JLabelVille = new JLabel("VILLE :");
	fenetrePersonne.add(JLabelVille);
	textVille = new JTextField();
	fenetrePersonne.add(textVille);
	JLabel JLabelEmail = new JLabel("EMAIL :");
	fenetrePersonne.add(JLabelEmail);
	textEmail = new JTextField();
	fenetrePersonne.add(textEmail);
	JLabel JLabelPassword = new JLabel("PASSWORD :");
	fenetrePersonne.add(JLabelPassword);
	textPassword = new JTextField();
	fenetrePersonne.add(textPassword);

	// crée des widgets (JButton) et les affecte à la fenêtre (f)
	JButton boutonCreer = new JButton("CREER");
	fenetrePersonne.add(boutonCreer);
	EcouteurInserer EcouteurCreer = new EcouteurInserer();
	boutonCreer.addActionListener(EcouteurCreer);

	JButton boutonLire = new JButton("LIRE");
	fenetrePersonne.add(boutonLire);
	EcouteurLireParId EcouteurChercheParNom = new EcouteurLireParId();
	boutonLire.addActionListener(EcouteurChercheParNom);

	JButton boutonModifier = new JButton("MODIFIER");
	fenetrePersonne.add(boutonModifier);
	EcouteurModifier EcouteurModifier = new EcouteurModifier();
	boutonModifier.addActionListener(EcouteurModifier);

	JButton boutonEfface = new JButton("EFFACE");
	fenetrePersonne.add(boutonEfface);
	EcouteurEffacerParId EcouteurEffacerParNom = new EcouteurEffacerParId();
	boutonEfface.addActionListener(EcouteurEffacerParNom);

	JButton boutonCherche = new JButton("LISTE");
	fenetrePersonne.add(boutonCherche);
	EcouteurListerPersonne EcouteurChercheTout = new EcouteurListerPersonne();
	boutonCherche.addActionListener(EcouteurChercheTout);

	// organise la disposition (pack), la rend visible, la ferme
	// COMPLETEMENT en cliquant sur la croix, la centre, permet le
	// redimensionnement
	fenetrePersonne.setSize(450, 300);
	fenetrePersonne.setVisible(true);
	fenetrePersonne.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	fenetrePersonne.setLocationRelativeTo(null);
	fenetrePersonne.setResizable(false);
}

class EcouteurInserer implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ev) {

		String nom = textNom.getText();
		String prenom = textPrenom.getText();
		Date dateNaissance = textDate_naissance.getText();
		String telephone = textTelephone.getText();
		String adresse = textAdresse.getText();
		String codePostal = textCodePostal.getText();
		String ville = textVille.getText();
		String email = textEmail.getText();
		String password = textPassword.getText();

		Personne p = new Personne(nom, prenom, dateNaissance, telephone,
				adresse, codePostal, ville, email, password);
		System.out.println(p);

		try {
			base.inserer(p);
		} catch (SQLException e) {

			e.printStackTrace();
		}
	}
}

class EcouteurLireParId implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ev) {

		int id = Integer.parseInt(textId_personne.getText());
		Personne p;
		try {
			p = base.lireParId(id);

			if (p != null) {
				textNom.setText(p.getNom());
				textPrenom.setText(p.getPrenom());
				textDate_naissance.setText("" + p.getDate_naissance());
				textTelephone.setText(p.getTelephone());
				textAdresse.setText(p.getAdresse());
				textCodePostal.setText(p.getCode_postal());
				textVille.setText(p.getVille());
				textEmail.setText(p.getEmail());
				textPassword.setText(p.getPassword());
			} else {
				System.out.println("L'ID " + id + " n'existe pas.");
			}
		} catch (SQLException e) {

			e.printStackTrace();
		}
	}
}

class EcouteurModifier implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ev) {

		int id = Integer.parseInt(textId_personne.getText());
		String nom = textNom.getText();
		String prenom = textPrenom.getText();
		//Date dateNaissance = textDate_naissance.getText();
		String telephone = textTelephone.getText();
		String adresse = textAdresse.getText();
		String codePostal = textCodePostal.getText();
		String ville = textVille.getText();
		String email = textEmail.getText();
		String password = textPassword.getText();

		Personne p = new Personne(id, nom, prenom, dateNaissance,
				telephone, adresse, codePostal, ville, email, password);
		System.out.println(p);
		try {
			base.modifier(p);
		} catch (SQLException e) {

			e.printStackTrace();
		}
		System.out.println("La personne a été modifiée.");
	}
}

class EcouteurEffacerParId implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ev) {
		int efface = Integer.parseInt(textId_personne.getText());
		try {
			base.supprimer(efface);
		} catch (SQLException e) {

			e.printStackTrace();
		}
		System.out.println("L'utilisateur dont l'ID est " + efface
				+ " a été éffacée.");
	}
}

class EcouteurListerPersonne implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ev) {

		List<Personne> tableauPersonne = null;
		try {
			tableauPersonne = base.listerPersonne();
		} catch (SQLException e) {

			e.printStackTrace();
		}
		for (Personne p : tableauPersonne)
			System.out.println(p);
	}
}

/*public static void main(String[] args) {

	PersonneFenetre test = new PersonneFenetre();
}
}
*/